package com.middlegroup.subjectpay.service;

import com.middlegroup.common.model.SubjectpayQueryRequest;
import com.middlegroup.common.model.TransResult;
import com.middlegroup.subjectpay.dto.TransRequest;
import com.middlegroup.subjectpay.service.helipay.BindCardPayResponseVo;

/**
 * Created by pc on 2019/1/14.
 */
public interface HelipayService {


    /**
     * 合利宝支付单笔代付
     *
     * @param request
     * @return
     */
    TransResult df(TransRequest request);

    /**
     * 合利宝单笔代付查询
     *
     * @param request
     * @return
     */
    TransResult dfQuery(SubjectpayQueryRequest request);


    /**
     * 合利宝支付单笔首次代扣
     *
     * @param request
     * @return
     */
    TransResult deduct(TransRequest request);

    /**
     * 合利宝支付单笔二次代扣
     * @param request
     * @return
     */
    TransResult secondDeduct(TransRequest request);

    /**
     * 合利宝支付单笔代扣查询
     *
     * @param request
     * @return
     */
    TransResult deductQuery(SubjectpayQueryRequest request);

    /**
     * 合利宝支付单笔代扣回调
     *
     * @param bindCardPayResponseVo
     * @return
     */
    String deductNotify(BindCardPayResponseVo bindCardPayResponseVo);

}
